#!/bin/bash
# 导出 ems_ts 数据库的数据的数据

set -e

function execute_sql(){
    local sql=$1
    taos -u root -p'taosdata' -s "$sql"
}

function preprocess(){
    sed '{
        /^failed to create dir/d      # 删除以 "failed to create dir" 开头的行
        /^Welcome to the TDengine/d   # 删除以 "Welcome to the TDengine" 开头的行
        /^Copyright/d                 # 删除以 "Copyright" 开头的行
        /^$/d                         # 删除空行
        /^taos>/d                     # 删除以 "taos>" 开头的行
        /^\r/d                        # 删除紧跟 "taos>" 后的回车符        
        /^Query OK/d                  # 删除以 "Query OK" 开头的行        
    }'    
}

function process_stables(){
    sed '{
        /\s\+stable_name\s\+|/d       # 删除形如 "     stables_name     |" 的行
        /=\+/d                        # 删除形如 "=======================" 的行
        s/|\r//                       # 替换："|" --> ""        
    }'
}

# 先查询有哪些超级表
query_stables_in_ems_ts="select stable_name from information_schema.ins_stables where db_name = 'ems_ts' order by stable_name;"
arr=($(execute_sql "$query_stables_in_ems_ts" | preprocess | process_stables))

for super_table in "${arr[@]}"
do
    echo "super table: $super_table"
done

# sed -n '{                       # 沉默，不打印处理结果    
#     /^Welcome to the TDengine/d   # 删除以 "Welcome to the TDengine" 开头的行
#     /^Copyright/d                 # 删除以 "Copyright" 开头的行
#     /^$/d                         # 删除空行
#     /^taos>/d                     # 删除以 "taos>" 开头的行
#     /^\r/d                        # 删除紧跟 "taos>" 后的回车符
#     /\s\+stable_name\s\+|/d       # 删除形如 "     stables_name     |" 的行
#     /=\+/d                        # 删除形如 "=======================" 的行
#     /^Query OK/d                  # 删除以 "Query OK" 开头的行
#     p                             # 打印行
# }'

